/**
 * Copyright 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.solarchallenge.client.gwtui.admin.edituseraccountdetails;

import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Widget;
import com.google.solarchallenge.client.gwtui.mvpinterfaces.View;
import com.google.solarchallenge.client.gwtui.widgets.solarchallengeheaderbar.SolarChallengeHeaderBarDisplay;
import com.google.solarchallenge.client.gwtui.widgets.useraccountdetails.UserAccountDetailsDisplay;

/**
 * View for Editing UserAccountDetails.
 *
 * @author Arjun Satyapal
 */
public class EditUserAccountDetailsView extends View implements
    EditUserAccountDetailsDisplay {
  @UiField
  SolarChallengeHeaderBarDisplay solarChallengeHeaderPanel;
  @UiField
  UserAccountDetailsDisplay contactDetailsWidget;
  @UiField
  ListBox listBoxApproverList;
  @UiField
  Button buttonBack;
  @UiField
  Button buttonEditSave;
  @UiField
  Button buttonCancel;

  private static ApproversShowEditViewUiBinder uiBinder = GWT
      .create(ApproversShowEditViewUiBinder.class);

  interface ApproversShowEditViewUiBinder extends
      UiBinder<Widget, EditUserAccountDetailsView> {
  }

  public EditUserAccountDetailsView() {
    initWidget(uiBinder.createAndBindUi(this));
  }

  @Override
  public SolarChallengeHeaderBarDisplay getSolarChallengeHeaderPanel() {
    return solarChallengeHeaderPanel;
  }

  @Override
  public ListBox getListBoxApproverList() {
    return listBoxApproverList;
  }

  @Override
  public Button getButtonEditSave() {
    return buttonEditSave;
  }

  @Override
  public Button getButtonCancel() {
    return buttonCancel;
  }

  @Override
  public Button getButtonBack() {
    return buttonBack;
  }

  @Override
  public UserAccountDetailsDisplay getUserAccountDetailsWidget() {
    return contactDetailsWidget;
  }

  @Override
  public void setEnabled(boolean enabled) {
    solarChallengeHeaderPanel.setEnabled(enabled);
    listBoxApproverList.setEnabled(enabled);
    buttonBack.setEnabled(enabled);
    buttonEditSave.setEnabled(enabled);
    buttonCancel.setEnabled(enabled);
  }
}
